package 富婆梦.第一阶段.第三周.作业;

public class TestLinkList {
    public static void main(String[] args) {
        MyLinkList list = new MyLinkList();
        TestLinkList test = new TestLinkList();
        //测试继承MyArrayList的方法
/*        test.test1(list);
        test.test2(list);
        test.test3(list);
        test.test4(list);*/
        //测试MyLinkList的新方法
        test.test5(list);
        test.test6(list);
        test.test7(list);


    }

    //测试add(),get(index)方法
    public void test1(MyLinkList list) {
        list.add("a");
        list.add(1, "b");
        list.add("d");
        list.add(2, "c");
        if (list.get(0).equals("a") && list.get(1).equals("b") && list.get(2).equals("c") && list.get(3).equals("d")) {
            System.out.println("add(element);add(index,element);get(index)三个方法测试通过!");
        } else {
            System.out.println("test fail!");
        }
    }

    //测试size()方法
    public void test2(MyLinkList list) {
        if (list.size() == 4) {
            System.out.println("size()方法测试通过");
        } else {
            System.out.println("test fail!");
        }
    }

    //测试indexOf（）方法
    public void test3(MyLinkList list) {
        if (list.indexOf("a") == 0 && list.indexOf("c") == 2 && list.indexOf("x") == -1) {
            System.out.println("indexOf()方法测试通过");
        } else {
            System.out.println("test fail!");
        }
    }

    //测试remove(index);remove(element);isEmpty()三个方法
    public void test4(MyLinkList list) {
        list.remove(0);
        list.remove("b");
        list.remove("c");
        list.remove(0);
        if (list.isEmpty()) {
            System.out.println("list的长度是：" + list.size());
            System.out.println("remove(index);remove(element);isEmpty()三个方法测试通过");
        } else {
            System.out.println("test fail!");
        }
    }

    //测试add、get方法
    public void test5(MyLinkList list){
        list.add("b");
        list.addLast("c");
        list.addFirst("a");
        for (int i=0;i<list.getLength();i++){
            System.out.println(list.get(i));
        }
        if (list.getFirst().equals("a")&&list.getLast().equals("c")){
            System.out.println("addLast();addFirst();getFirst();getLast()4个方法测试通过！");
        }else {
            System.out.println("test fail!");
        }
    }

    //测试lastIndexOf（）方法
    public void test6(MyLinkList list){
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("b");
        if (list.lastIndexOf("b")==3){
            System.out.println("测试lastIndexOf()方法测试通过！");
        }else {
            System.out.println("test fail!");
        }
    }

    //测试remove方法
    public void test7(MyLinkList list){
        list.add("a");
        list.add("b");
        list.add("c");
        list.removeFirst();
        list.removeLast();
        if (list.getFirst().equals("b")&&list.getLast().equals("b")){
            System.out.println("removeFirst(), removeLast();方法测试通过！");
        }else {
            System.out.println("removeFirst()，removeLast()测试未通过！");
        }
    }
}
